script_spell Reigeki_Reimu{
	let SE_BOMB=GetCurrentScriptDirectory~"se\bomb.wav";
	let DMG_BOMB=9.9;
	
	@Initialize{
		PlaySE(SE_BOMB);
		if(GetArgument){
			SetPlayerInvincibility(201);
		}else{
			SetPlayerInvincibility(271);
		}
		Main;
	}
	
	@MainLoop{
		CollectItems;
		yield;
	}
	
	task Main{
		yield;
		let obj=Obj_Create(OBJ_SPELL);
		let x=GetPlayerX;
		let y=GetPlayerY;
		let v=-1;
		let a=0.05;
		let r=40;
		let dr=3.125;
		ascent(n in 0..130){
			ObjSpell_SetIntersecrionCircle(obj,x,y,r,DMG_BOMB,true);
			if(n<40){
				r+=dr;
			}
			y+=v;
			if(n>=120){v+=a;}
			yield;
		}
		Obj_Delete(obj);
		End;
	}
}


script_spell Reigeki_Marisa{
	let SE_BOMB=GetCurrentScriptDirectory~"se\bomb.wav";
	let DMG_BOMB=8.8;
	
	@Initialize{
		PlaySE(SE_BOMB);
		if(GetArgument){
			SetPlayerInvincibility(201);
		}else{
			SetPlayerInvincibility(271);
		}
		Main;
	}
	
	@MainLoop{
		CollectItems;
		yield;
	}
	
	task Main{
		yield;
		let obj=Obj_Create(OBJ_SPELL);
		let x=GetPlayerX;
		let y=GetPlayerY;
		let v=-1.2;
		let a=0.06;
		let r=40;
		let dr=4;
		ascent(n in 0..170){
			ObjSpell_SetIntersecrionCircle(obj,x,y,r,DMG_BOMB,true);
			if(n<20){
				r+=dr;
			}
			y+=v;
			if(n>=160){v+=a;}
			yield;
		}
		Obj_Delete(obj);
		End;
	}
}